import axios from 'axios'
import {API} from './config'
// 创建axios实例

const service = axios.create({
  headers: {
    'Content-Type': 'application/json'
    // 'Access-Control-Allow-Origin':'*'
  },
  withCredentials: true,
  crossDomain: true,
  baseURL: API, // api的base_url
  timeout: 15000 // 请求超时时间
});

// request拦截器
service.interceptors.request.use(config => {
  config.credentials = true;
  config.headers.client = 'web';
  return config
}, error => {
  // Do something with request error
  console.error(error); // for debug
  Promise.reject(error)
});

// respone拦截器
service.interceptors.response.use(response => {
  const res = response.data;
  if (res.code === 0) {
    return res.data;
  } else if (res.code === 401) {
    pleaseReLogin();
  } else if (res.code === 502) {
    // MessageBox.alert('系统维护中，请稍后登录', '维护提醒', {
    //   confirmButtonText: '确认'
    // });
  } else {
    MessageBox({
      message: res.message,
      type: 'error',
      duration: 3000
    });
    console.log('res', res);
    return Promise.reject(res)
  }
}, error => {
  console.error('err', error);
  if (error.response.data.code === 401) {
    pleaseReLogin();
  } else {
    // MessageBox({
    //   message: error.message,
    //   type: 'error',
    //   duration: 3000
    // });
  }
  return Promise.reject(error)
});

function pleaseReLogin() {
  // MessageBox.alert('登录超时，请重新登录！', '超时提醒', {
  //   confirmButtonText: '确认'
  // }).then(() => {
  //   window.localStorage.removeItem('hasLogin');
  //   setTimeout(() => {
  //     window.location.reload();
  //   }, 100);
  // });
}

export default service
